package appapi.entity.bridge;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * @author dhq
 * @version 1.0
 * @date 2023/9/12  11:11
 */
@Data
@TableName("equipment")
@AllArgsConstructor
@NoArgsConstructor
public class EquipmentEntity {
    /**
     * 设备ID
     */
    @ApiModelProperty(value="设备ID")
    @TableField(value="equip_id")
    private Long equipId;

    /**
     * 所属项目
     */
    @TableField(value="proj_id")
    @ApiModelProperty(value="所属项目")
    private Long projId;

    /**
     * 所属机构
     */
    @TableField(value="orga_id")
    @ApiModelProperty(value="所属机构")
    private Long orgaId;

    /**
     * 所属区域
     */
    @TableField(value="area_id")
    @ApiModelProperty(value="所属区域")
    private Long areaId;

    /**
     * 设备类型ID
     */
    @TableField(value="equip_type_id")
    @ApiModelProperty(value="设备类型ID")
    private Long equipTypeId;

    /**
     * 设备编号
     */
    @TableField(value="equip_no")
    @ApiModelProperty(value="设备编号")
    private String equipNo;

    /**
     * 终端编号
     */
    @TableField(value="equid_terminal")
    @ApiModelProperty(value="终端编号")
    private String equidTerminal;

    /**
     * 设备名称
     */
    @TableField(value="equip_name")
    @ApiModelProperty(value="设备名称")
    private String equipName;

    /**
     * 规格型号
     */
    @TableField(value="equip_model")
    @ApiModelProperty(value="规格型号")
    private String equipModel;

    /**
     * 0-启用 1-禁用
     */
    @TableField(value="is_enable")
    @ApiModelProperty(value="0-启用 1-禁用")
    private Integer isEnable;

    /**
     * 最近时间
     */
    @TableField(value="last_time")
    @ApiModelProperty(value="最近时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastTime;

    /**
     * 安装时间
     */
    @TableField(value="install_time")
    @ApiModelProperty(value="安装时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime installTime;

    /**
     * 0-在用 1-停用
     */
    @TableField(value="equip_status")
    @ApiModelProperty(value="0-在用 1-停用")
    private Integer equipStatus;

    /**
     * 设备备注
     */
    @TableField(value="equip_note")
    @ApiModelProperty(value="设备备注")
    private String equipNote;

    /**
     * 现场编号
     */
    @TableField(value="equio_actno")
    @ApiModelProperty(value="现场编号")
    private String equioActno;

    /**
     * 生成厂家
     */
    @TableField(value="equip_product")
    @ApiModelProperty(value="生成厂家")
    private String equipProduct;

    /**
     * 出场参数
     */
    @TableField(value="equip_product_param")
    @ApiModelProperty(value="出场参数")
    private String equipProductParam;

    /**
     * 出厂日期
     */
    @TableField(value="equip_product_date")
    @ApiModelProperty(value="出厂日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime equipProductDate;

    /**
     * 设备来源
     */
    @TableField(value="equip_source")
    @ApiModelProperty(value="设备来源")
    private Integer equipSource;

    /**
     * 监检证书号
     */
    @TableField(value="monitoring_code")
    @ApiModelProperty(value="监检证书号")
    private String monitoringCode;

    /**
     * 发证日期
     */
    @TableField(value="certificate_time")
    @ApiModelProperty(value="发证日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime certificateTime;

    /**
     * 复审日期
     */
    @TableField(value="certificate_reexamine")
    @ApiModelProperty(value="复审日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime certificateReexamine;

    /**
     * 退场日期
     */
    @TableField(value="equip_quitdate")
    @ApiModelProperty(value="退场日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime equipQuitdate;

    /**
     * 使用登记证编号
     */
    @TableField(value="certificate_number")
    @ApiModelProperty(value="使用登记证编号")
    private String certificateNumber;

    /**
     * 微信二维码
     */
    @TableField(value="wechat_code")
    @ApiModelProperty(value="微信二维码")
    private String wechatCode;

    /**
     * 月检超时(0-正常,1超时)
     */
    @TableField(value="month_warn")
    @ApiModelProperty(value="月检超时(0-正常,1超时)")
    private Byte monthWarn;

    /**
     * 创建时间
     */
    @TableField(value="create_time")
    @ApiModelProperty(value="创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(value="create_time")
    @ApiModelProperty(value="更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
}
